package com.hxzy.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.hxzy.system.dto.SysRoleSearchDTO;
import com.hxzy.system.entity.SysRole;

import java.util.List;
import java.util.Set;

/**
* @author Administrator
* @description 针对表【sys_role(角色信息表)】的数据库操作Service
* @createDate 2023-03-10 11:56:11
*/
public interface SysRoleService extends IService<SysRole> {
    /**
     * 查询所有科室信息
     * @return
     */
    List<SysRole> getRoles();
    /**
     * 查询用户拥有的权限
     * @param userId
     * @return
     */
    Set<String> searchUserOwnRole(Long userId);


    /**
     * 新增并授权菜单权限
     * @param role 角色
     * @param permsList 菜单
     * @return
     */
    boolean addAndGrantMenu(SysRole role,List<Long> permsList);

    /**
     * 修改并授权菜单权限
     * @param role
     * @param permsList
     * @return
     */
    boolean editAndGrantMenu(SysRole role, List<Long> permsList);


    /**
     * 角色信息分页
     * @param sysRoleSearchDTO
     * @return
     */
    List<SysRole> search(SysRoleSearchDTO sysRoleSearchDTO);



    /**
     * 根据用户id查询是不是管理员
     * @param userId
     * @return
     */
    boolean isAdmin(Long userId);
}
